<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Title</title>
</head>
<body>

</body>
<script>
	// let str = "abcdefg";
	// let str1 = 'abcdefg';
	// 传统的 JavaScript 语言，输出模板通常要拼接字符串
	// - 模板字符串（template string）是增强版的字符串，用反引号（`）标识。可以嵌套变量，可以换行，可以包含单引号和双引号。
	{
		// // 新的定义字符串的方式，通过反引号
		// // let str = `abcdefg`;// es6中定义字符串
		//
		// // 可以嵌套变量
		// // let age = 1;
		// // let userName = "zhangsan";
		// // 未使用模板字符串：
		// // let str = "我的名字叫"+userName+"，今年"+age+"岁了";
		// // 使用模块字符串：
		// // let str = `我的名字叫${userName}，今年${age}岁了`;
		// // console.log(str);
		//
		//
		// // 可以换行
		// // 之前
		// // let str = "我现在心" +
		// // 		"情很好！";
		// // es6:
		// // let str2 = `我是一只小小小
		// // 小鸟，
		// // 怎么飞也飞不高！`;
		// // console.log(str,str2);
		//
		//
		// // 可以包含单引号和双引号。
		// // 之前：
		// // let str = "我要定义字符串，可以通过双引号（\"\"），单引号('')";
		// // console.log(str);
		//
		// // es6:
		// let str = `我要定义字符串，可以通过双引号（""），单引号('')`;
		// console.log(str);
	}
	
	// - 它可以当作普通字符串使用，也可以用来定义多行字符串。模板字符串中嵌入变量，需要将变量名写在`${}`之中。
    // - 大括号内部可以放入任意的 JavaScript 表达式，可以进行运算，以及引用对象属性。
	// {
	// 	let num = 1;
	// 	let sex = "男";
	// 	let str = `今天天气${num}不${1+num}错${sex==='男'?"小伙子":"小姑娘"}！`;
	// 	console.log(str);// 泰国 1000---》泰珠
	// }
	
	
    // - 模板字符串之中还能调用函数。
	{
		function fn(){
			return "ok";
		}
		const str = `我也想去泰国玩！带上老婆和孩子！${fn()}`;
		console.log(str);
	}
	// - 模板字符串应用
</script>
</html>